dnl Process this file with autoconf to produce a configure script.
dnl $Id$

AC_INIT(configure.in)
AM_INIT_AUTOMAKE(geany, 0.10.2)


AM_CONFIG_HEADER(config.h)

AC_ISC_POSIX
AC_PROG_CC
AM_PROG_CC_STDC
AC_HEADER_STDC
AC_PROG_CXX
AC_PROG_CPP
AC_PROG_RANLIB
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET

# autoscan start

# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS([fcntl.h fnmatch.h glob.h libintl.h limits.h stddef.h stdlib.h string.h sys/time.h unistd.h])

# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STAT
AC_HEADER_STDBOOL
AC_C_CONST
AC_C_INLINE
AC_TYPE_OFF_T
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
AC_C_VOLATILE

# Checks for library functions.
AC_FUNC_CLOSEDIR_VOID
AC_FUNC_ERROR_AT_LINE
#AC_REPLACE_FNMATCH
AC_FUNC_LSTAT
AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
AC_FUNC_MALLOC
AC_FUNC_MEMCMP
AC_FUNC_REALLOC
AC_TYPE_SIGNAL
AC_FUNC_STAT
AC_FUNC_VPRINTF
AC_CHECK_FUNCS([gethostname ftruncate fgetpos getcwd gettimeofday isascii mblen memset mkstemp putenv realpath regcomp setenv strcasecmp strchr strdup strerror strrchr strspn strstr strtol])

# autoscan end


# get svn revision
SVN=`which svn`
if test -d ".svn" -a -x "${SVN}"
then
	REVISION=r`$SVN info|grep 'Last Changed Rev'|cut -d' ' -f4`
else
	REVISION="-1"
fi
AC_DEFINE_UNQUOTED([REVISION], "$REVISION", [subversion revision number])

# GTK checks
pkg_modules="gtk+-2.0 >= 2.6.0"
PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
AC_SUBST(PACKAGE_CFLAGS)
AC_SUBST(PACKAGE_LIBS)

# socket support
AC_ARG_ENABLE(socket, AC_HELP_STRING([--enable-socket],[enable if you want to detect a running instance [[default=yes]]]),
 [want_socket="$enableval"], [want_socket="yes"])

if test "x$want_socket" = "xyes"; then
	AC_DEFINE(HAVE_SOCKET, 1, [Define if you want to detect a running instance])
	# this should bring in libsocket on Solaris:
	AC_SEARCH_LIBS([connect],[socket],[],[],[])
fi

# VTE support
AC_ARG_ENABLE(vte, AC_HELP_STRING([--enable-vte],[enable if you want virtual termninal support [[default=yes]]]),
 [want_vte="$enableval"], [want_vte="yes"])

# if test "$want_vte" = "yes"; then
#   PKG_CHECK_MODULES(VTE, [vte],
#                     [AC_DEFINE(HAVE_VTE, 1, [Define if you want VTE support])],
#                     [AC_MSG_ERROR([VTE support enabled, but VTE not found])])
#	  AC_CHECK_LIB(vte, vte_terminal_new,
#					[AC_DEFINE(HAVE_VTE, 1, [Define if you want VTE support])],
#					[AC_MSG_ERROR([VTE support enabled, but VTE not found])], [])
# fi

# Check for random number paths (skip when cross compiling)
if test "x$build" = "x$target"; then
	AC_CHECK_FILE([/dev/urandom], AC_DEFINE([HAVE_DEVURANDOM], [1], [Define that you found /dev/urandom]))
	AC_CHECK_FILE([/dev/random], AC_DEFINE([HAVE_DEVRANDOM], [1], [Define that you found /dev/random]))
fi

if test "x$target" = "xi386-mingw32msvc"; then
	AC_DEFINE_UNQUOTED([WIN32], 1, [we are cross compiling for WIN32])
	want_vte="no"
	AC_EXEEXT
fi
AM_CONDITIONAL(MINGW, test "x$target" = "xi386-mingw32msvc")


GTK_VERSION=`$PKG_CONFIG --modversion gtk+-2.0`

# just for a laugh (it has absolutely no effect)
AC_ARG_ENABLE(the-force, AC_HELP_STRING([--enable-the-force],
     [enable if you are Luke Skywalker and the force is with you [[default=no]]]), [be_luke="$enableval"], [be_luke="no"])
AC_MSG_CHECKING([whether the force is with you])
if test "x$be_luke" = "xyes"; then
	AC_MSG_RESULT([yes])
else
	AC_MSG_RESULT([no])
fi

# i18n
GETTEXT_PACKAGE=geany
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])

# Add the languages which your application supports here.
ALL_LINGUAS="be ca cs de es fi fr hu it nl pl pt_BR ru vi zh_CN zh_TW"

AM_GLIB_GNU_GETTEXT


# Set ${datadir}
if test "x${datadir}" = 'x${prefix}/share' -o "x${datarootdir}" = 'x${prefix}/share'; then
	if test "x${prefix}" = "xNONE"; then
		prefix=${ac_default_prefix}
	fi
fi
# check for datarootdir (autoconf >= 2.60), if not set(autoconf < 2.60), define it
if test "x${datarootdir}" = "x"; then
	datarootdir=${datadir}
fi

if test "x$want_vte" = "xyes"; then
	AC_DEFINE(HAVE_VTE, 1, [Define if you want VTE support])
fi

GEANY_PIXMAPS_DIR=`eval echo ${datarootdir}/pixmaps`
AC_SUBST(GEANY_PIXMAPS_DIR)
GEANY_DATA_DIR=`eval echo ${datarootdir}/geany`
AC_SUBST(GEANY_DATA_DIR)


AC_OUTPUT([
Makefile
tagmanager/Makefile
tagmanager/include/Makefile
scintilla/Makefile
scintilla/include/Makefile
src/Makefile
po/Makefile.in
doc/Makefile
doc/geany.1
geany.spec
geany.desktop
])

echo "----------------------------------------"
echo "Install Geany in                   : ${prefix}"
if test "x${build}" != "x" -a "x${target}" != "x"
then
	echo "Building Geany on                  : ${build}"
	echo "Building Geany for                 : ${target}"
fi
echo "Using GTK version                  : ${GTK_VERSION}"
echo "Use virtual terminal support       : ${want_vte}"
echo "Use (UNIX domain) socket support   : ${want_socket}"
if test "${REVISION}" != "-1"
then
	echo "Compiling Subversion revision      : ${REVISION}"
fi
echo ""
echo "Configuration is done OK."
echo ""
